TEditorMX

PIC用プログラムをアセンブル

PIC用のアセンブラ(mpasmx.exe)を用いてアセンブルしてみます。mpasmx.exeは(2018年8月現在)MPLAB X IDE ver4.20(無償版)を ダウンロード&インストールすることで入手できます。インターネットで検索するとすぐに出てくると思います。 なお、インクルードファイル(.inc)も必要です。MPLABをインストールすればmpasmx.exeと同じフォルダに在るはずです。

※PICは初心者向けのCPUではないと思いますので初めてアセンブラに挑戦するのであれば、特に理由がない限りは別のCPU(H8、Z80等)をお勧め致します。 PICは命令数は少ないのですがレジスタが少なくて演算の仕方、分岐の仕方などが分かりにくいと思います。 (・・・というより、RISC CPUなので人に分かり易くは作られていません)。 また、レジスタ・ファイル(RAM)にアクセスする際もバンク切り替え等の面倒くさい手続きが必要になります。 なので、どうしてもPICじゃないと...ということでなければ別のCPUから始めた方が良いと思います。



アセンブルするための準備
TEditorMXのコンパイル設定
コンパイル(アセンブル)を実行してみましょう





アセンブルするための準備

アセンブルするための準備として、環境設定用バッチファイル(env.bat)とソースプログラム(main.asm)およびプロジェクトファイル(project.tep)を用意します。 下記のファイル名を右クリックしますと対象ファイルを保存できると思いますので、任意のプロジェクトフォルダに保存してご利用下さい。



env.bat
※下記の内容はMPLABをデフォルトフォルダ(OSはWindows10Pro 64bit)にインストールしたときで、 プロジェクトフォルダ(ソースファイルなどを格納するフォルダ)をC:\PIC\testとしたときの様子です。 ご利用の環境に合わせて適切に書き換えてご利用下さい

set Path="C:\Program Files (x86)\Microchip\MPLABX\v4.20\mpasmx";%Path%

c:
cd "C:\PIC\test"




main.asm
※下記のプログラムに意味はありません。とりあえずテストするためだけの内容です。

	list		p=16f877a
	#include	p16f877a.inc

REGA	equ	0x21

	org	0x0

	goto	error

main
	movlw	0x1
	addlw	0x2
	movwf	REGA
STOP_LOOP
	goto	STOP_LOOP

	end




project.tep
※プロジェクトファイルです。
プロジェクトファイルは先頭に文字コードのオプションスイッチが付き、続けてファイル名が記述されただけのファイルです。

/S .\env.bat
/S .\main.asm




ページのTOPへ


TEditorMXのコンパイル設定

TEditorMXのコンパイル(アセンブル)設定をします。 エクスプローラーからproject.tepをダブルクリックして情報ウィンドウ(InfoWinMX.exe)を起動し、 ツリービューのmain.asmアイテムをダブルクリックしてファイルを開いて下さい。 TEditorMXでmain.asmを開いたらコンパイル設定を行います。 【コンパイル】メニューの【設定】を選択してコンパイル設定ダイアログを開きます。 開きましたら以下の様に設定して下さい。

コンパイル設定



<< 解説 >>

(1)環境設定バッチファイル
mpasmx.exeへパスを通してカレントフォルダを任意のプロジェクトフォルダに変更するバッチファイルを指定して下さい (アセンブルするための準備で用意したenv.batを指定して下さい)。

(2)実行ファイル or 実行バッチファイル
実行するコマンド(mpasmx.exe)とそのオプションを指定します。

実行コマンド → mpasmx
実行オプション → main.asm /p16F877A /q

(3)結果
mpasmx.exeは結果を標準出力ではなく、.errファイルへ出力します。
そのためここでは、

main.err

と入力し、コンパイル(アセンブル)終了後に情報ウィンドウのコンパイル結果タブに結果を読み込ませるようにします。




ページのTOPへ


コンパイル(アセンブル)を実行してみましょう

エディタのコンパイル実行ボタンコンパイル実行を押して下さい。 上手く設定できていればアセンブラ(mpasmx.exe)が起動し、アセンブルが実行され、 結果が情報ウィンドウのコンパイル結果タブに表示されるはずです。 (上手くいかないときはenv.batの内容とコンパイル設定ダイアログの内容を再確認して下さい)。 ちなみに、上手くいけば下図「エラー有り」のようにアセンブルエラーが表示されるはずです。 実はmain.asmには誤りがありまして、そのままではアセンブルが通りません。 エラーとなっている行(8行目)を削除(行頭にセミコロン ; を付けてコメントにしてもOK)した後、 再度コンパイルを実行してみて下さい。 今度はエラー表示が無く(下図「エラー無し」)、正常にアセンブルされるはずです。

●「エラー有り」のコンパイル結果
コンパイル結果NG


●「エラー無し」のコンパイル結果
コンパイル結果OK




ページのTOPへ

メニュー